// Copyright (C) <2023> Zealcomm Inc.
//
// SPDX-License-Identifier: Apache-2.0

#ifndef IRTC_BASE_SHARESCREEN_APP_MANAGER_H_
#define IRTC_BASE_SHARESCREEN_APP_MANAGER_H_

#import <CoreMedia/CoreMedia.h>
#import <Foundation/Foundation.h>
#import <IRTC/IRTCMacros.h>
#import <ReplayKit/ReplayKit.h>

NS_ASSUME_NONNULL_BEGIN

@protocol IRTCShareScreenAppManagerDelegate;

IRTC_OBJC_EXPORT
@interface IRTCShareScreenAppManager : NSObject
+ (IRTCShareScreenAppManager*)sharedManager;
- (void)stopSocket;
- (RPSystemBroadcastPickerView*)setupWithGroup:(NSString*)group;
@property(nonatomic, weak) id<IRTCShareScreenAppManagerDelegate> delegate;
@end

IRTC_OBJC_EXPORT
@protocol IRTCShareScreenAppManagerDelegate <NSObject>
@optional
/// share screen started.
- (void)shareScreenDidStarted;
/// share screen paused.
- (void)shareScreenDidPaused;
/// share screen resumed.
- (void)shareScreenDidResumed;
/// share screen finished.
- (void)shareScreenDidFinished;
@end

NS_ASSUME_NONNULL_END
#endif  // IRTC_BASE_SHARESCREEN_APP_MANAGER_H_
